import cv2
import sys
import numpy as np

# 从命令行获取图像文件路径
if len(sys.argv) < 2:
    print("请提供图像文件路径作为命令行参数")
    sys.exit(1)

image_path = sys.argv[1]

# 读取图像
image = cv2.imread(image_path)
if image is None:
    print("无法读取图像文件")
    sys.exit(1)
# 转换为HSV颜色空间
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

# 定义颜色范围 (例如蓝色)
lower_blue = np.array([110, 50, 50]) # 下界
upper_blue = np.array([130, 255, 255]) # 上界

# 创建掩码
mask = cv2.inRange(hsv_image, lower_blue, upper_blue)

# 应用掩码到原图像
result = cv2.bitwise_and(image, image, mask=mask)

# 显示结果
cv2.imshow("Original Image", image)
cv2.imshow("Mask", mask)
cv2.imshow("Result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()